package com.heima.sjjg;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * 手写一个栈
 *      特点： 先进 后出
 *      设计： 1. 添加数据方法
 *             2. 取出数据方法
 *             3. 要有一个容器类型的成员变量存储数据
 */

public class MyStack<E> {
    //属性：用来存储数据   -- 容器类型
    public LinkedList<E> stack;

    public MyStack(){
        this.stack = new LinkedList<>();
    }


    //添加数据方法
    public void push(E e){
        stack.addFirst(e);
    }

    //取出数据方法
    public E pop(){
        return stack.removeLast();
    }
}

class Demo{
    public static void main(String[] args) {
        MyStack<String> myStack = new MyStack<>();
        myStack.push("hello");
        myStack.push("world");
        myStack.push("java");

        System.out.println(myStack.pop());   //
        System.out.println(myStack.pop());
        System.out.println(myStack.pop());
    }
}
